﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NeuralStock.Common;

namespace NeuralStock.Entities
{
    public class FinancialReportData
    {
        public int? CompanyId { get; set; }
        public string CompanyName { get; set; }
        public int? Year { get; set; }

        public decimal? ProfitFromOperatingActivities { get; set; }
        public decimal? NetProfit { get; set; }
        public decimal? NetCashFlowsFromOperatingActivities { get; set; }
        public decimal? NetCashFlowsFromInvestmentActivities { get; set; }
        public decimal? NetCashFlowsFromFinancialActivities { get; set; }
        public decimal? ShortTermLiabilities { get; set; }
        public decimal? NumberOfShares { get; set; }
        public decimal? Assets { get; set; }
        public decimal? EquityCapital { get; set; }
        public decimal? LiabilitiesAndProvisionsForLiabilities { get; set; }
        public decimal? LongTermLiabilities { get; set; }
        public decimal? NetRevenuesFromSalesOfGoodsAndMaterials { get; set; }

        public bool IsValid()
        {
            if (!CompanyId.HasValue
                || !Year.HasValue
                || !NumberOfShares.HasValue)
            {
                return false;
            }
            return true;
        }
    }
}
